SOQL (Salesforce Object Query Language) এবং SOSL (Salesforce Object Search Language) উভয়ই Salesforce প্ল্যাটফর্মে ডেটা অনুসন্ধান ও পুনরুদ্ধার করার জন্য ব্যবহৃত হয়, তবে তাদের ভূমিকা এবং ব্যবহার আলাদা।
SOQL (Salesforce Object Query Language) এর ভূমিকা
SOQL হলো Salesforce-এর নিজস্ব কুয়েরি ভাষা যা নির্দিষ্ট অবজেক্ট থেকে ডেটা পুনরুদ্ধার করতে ব্যবহৃত হয়। এটি অনেকটা SQL-এর মতো কাজ করে, কিন্তু SOQL শুধুমাত্র Salesforce অবজেক্টের উপর কুয়েরি চালাতে পারে।
SOQL মূলত তখন ব্যবহার করা হয় যখন ডেভেলপাররা নির্দিষ্ট অবজেক্টের নির্দিষ্ট ফিল্ডে থাকা ডেটা অনুসন্ধান করতে চান। উদাহরণস্বরূপ, Account বা Contact অবজেক্ট থেকে নির্দিষ্ট কিছু রেকর্ড এবং ফিল্ড পুনরুদ্ধার করতে SOQL ব্যবহার করা হয়।
SOQL এর গুরুত্বপূর্ণ বৈশিষ্ট্য:
- ডেটা ফিল্টারিং: SOQL এর মাধ্যমে WHERE ক্লজ ব্যবহার করে নির্দিষ্ট ডেটা অনুসন্ধান করা যায়।
- কাস্টম কুয়েরি: SOQL কাস্টম ফিল্ড এবং অবজেক্ট থেকে ডেটা রিটার্ন করতে পারে।
- Aggregate Functions: SOQL Aggregate ফাংশন (যেমন: COUNT, AVG, MIN, MAX) সাপোর্ট করে, যা রিপোর্টিং এবং ডেটা অ্যানালাইসিসের জন্য উপযোগী।
- Relationship Query: SOQL Parent-Child বা Child-Parent সম্পর্কিত কুয়েরি চালাতে পারে, যা অবজেক্টগুলির মধ্যে সম্পর্কের ডেটা পুনরুদ্ধারে সহায়ক।
SOQL উদাহরণ:
// Account অবজেক্ট থেকে Id এবং Name ফিল্ডের ডেটা পুনরুদ্ধার
List<Account> accounts = [SELECT Id, Name FROM Account WHERE Industry = 'Technology'];
// Aggregate Function ব্যবহার
AggregateResult[] results = [SELECT COUNT(Id), AVG(AnnualRevenue) FROM Account WHERE Industry = 'Manufacturing'];
SOSL (Salesforce Object Search Language) এর ভূমিকা
SOSL হলো Salesforce-এর সার্চ ভাষা, যা Salesforce ডেটাবেজের একাধিক অবজেক্টে একসাথে অনুসন্ধান করতে ব্যবহৃত হয়। এটি মূলত তখন ব্যবহার করা হয়, যখন ডেভেলপাররা একাধিক অবজেক্টের বিভিন্ন ফিল্ডে নির্দিষ্ট কী-ওয়ার্ড ভিত্তিক সার্চ করতে চান।
SOSL ব্যবহার করে সার্চ চালানো হলে একাধিক অবজেক্টের মধ্যে একটি কী-ওয়ার্ড খুঁজে সব মিল থাকা রেকর্ডকে রিটার্ন করা হয়। এটি অনেকটা সার্চ ইঞ্জিনের মতো কাজ করে।
SOSL এর গুরুত্বপূর্ণ বৈশিষ্ট্য:
- মাল্টি-অবজেক্ট সার্চ: SOSL একই সাথে একাধিক অবজেক্টে কী-ওয়ার্ড ভিত্তিক সার্চ করতে পারে।
- Flexible Search: SOSL বিভিন্ন ফিল্ডে বা অবজেক্টে একত্রে অনুসন্ধান করতে পারে, যা SOQL-এ সম্ভব নয়।
- FIND Keyword: SOSL-এ FIND কিওয়ার্ডের মাধ্যমে নির্দিষ্ট শব্দ বা ফ্রেজ অনুসন্ধান করা হয়, যা Salesforce প্ল্যাটফর্মে দ্রুত সার্চ করার সুবিধা প্রদান করে।
- Wildcard Matching: SOSL হালকা ওয়াইল্ডকার্ড ম্যাচিং সমর্থন করে, ফলে কাস্টম সার্চ অভিজ্ঞতা তৈরি করা সহজ হয়।
SOSL উদাহরণ:
// বিভিন্ন অবজেক্টে 'John' নামে থাকা সমস্ত রেকর্ড খুঁজে বের করা
List<List<SObject>> searchResults = [FIND 'John' IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName)];
// Contact এবং Account অবজেক্টে নির্দিষ্ট তথ্য সার্চ করা
List<List<SObject>> searchResults = [FIND 'Tech' IN ALL FIELDS RETURNING Account(Name), Opportunity(Name)];
SOQL এবং SOSL এর তুলনা:
| বৈশিষ্ট্য | SOQL | SOSL |
|---|---|---|
| ব্যবহার | নির্দিষ্ট অবজেক্টের ডেটা কুয়েরি করতে | একাধিক অবজেক্টে কী-ওয়ার্ড সার্চ করতে |
| কুয়েরি ভাষা | SELECT কিওয়ার্ড ব্যবহার করে | FIND কিওয়ার্ড ব্যবহার করে |
| ফিল্টারিং | WHERE ক্লজ দিয়ে ফিল্টার করা যায় | ফিল্টারিং কম; নির্দিষ্ট অবজেক্টের সার্চ |
| Aggregate Functions | সমর্থিত | সমর্থিত নয় |
| Parent-Child Relationship | সমর্থিত | সমর্থিত নয় |
| ফিল্ড টাইপ | নির্দিষ্ট ফিল্ডে অনুসন্ধান | সমস্ত ফিল্ডে অনুসন্ধান |
সারসংক্ষেপ:
SOQL এবং SOSL উভয়ই Salesforce প্ল্যাটফর্মে ডেটা অনুসন্ধান এবং পুনরুদ্ধারের জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে। SOQL নির্দিষ্ট অবজেক্টের ডেটা কুয়েরি এবং সম্পর্কিত তথ্য পুনরুদ্ধার করতে ব্যবহৃত হয়, যেখানে SOSL ব্যবহার করে একাধিক অবজেক্টের বিভিন্ন ফিল্ডে দ্রুত কী-ওয়ার্ড ভিত্তিক সার্চ করা যায়। SOQL-এর অ্যাগ্রিগেট ফাংশন এবং Relationship Query-এর মত ফিচারগুলো বিশ্লেষণ এবং রিপোর্টিংয়ে সহায়ক, অন্যদিকে SOSL মাল্টি-অবজেক্ট সার্চে অত্যন্ত কার্যকরী।
Read more